package com.gy.boot.common.aspect;

import java.lang.annotation.*;

/**
 * 自定义注解:
 * 注:
 *  当注解创建出来,自动实现Annotation接口;
 *  当注解的属性值为value时,对其定义可以不指定属性名,否则必须指定属性名;
 *  非标识型注解(注解内有值)只有在反射调用的时候才有意义;
 *  @ Documented :  注解表明这个注解应该被 javadoc工具记录;
 *  @ Target : 声明该注释作用在那种类型上(数组);
 *  @ Retention : 做用在注解上的注解,声明注解策略:
 *      RetentionPolicy : 注解策略:
 *          SOURCE : JVM丢弃的注解,没有效果;
 *          CLASS  : 将注解编译,但运行时不用;
 *          RUNTIME: 运行时可用,可以反射性的读取;
 * */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {

    String value() default "";

}
